package xan.tm.digital.common.rules;

import org.apache.commons.lang3.StringUtils;

import java.lang.FunctionalInterface;

/**
 * @author: renwq
 * @date: 2025/9/12 16:03
 * @sesc: 规则接口
 */
@FunctionalInterface
public interface Rule<T> {

    String apply(T input);  // 如果不匹配，返回null或空

    // 默认匹配逻辑：子类或Lambda实现
    default boolean matches(T input) {
        return StringUtils.isNotEmpty(apply(input));
    }
}
